home *** CD-ROM | disk | FTP | other *** search
/ Giga Games 1 / Giga Games.iso / net / usenet / volume7 / nethack3 / patch10a < prev    next >
Encoding:
Text File  |  1991-02-08  |  55.3 KB  |  1,245 lines

  1. Subject:  v12i025:  NetHack3 -  display oriented dungeons & dragons (Ver. 3.0), Patch10a
  2. Newsgroups: comp.sources.games
  3. Approved: billr@saab.CNA.TEK.COM
  4.  
  5. Submitted-by: Izchak Miller <izchak@linc.cis.upenn.edu>
  6. Posting-number: Volume 12, Issue 25
  7. Archive-name: NetHack3/Patch10a
  8. Patch-To: NetHack3: Volume 7, Issue 56-93
  9. Environment: 
  10.  
  11.  
  12. [[Patch 10 to NetHack 3.0 adds no new features, and few optimizations.
  13. It fixes many mostly rare bugs and extends support to a couple more
  14. system variants.
  15.  
  16. The major change with this patch is that the MSDOS overlay manager is
  17. now bright enough to split up one logical executable among several disk
  18. files, thus simplifying distribution via floppies since each file can
  19. be <360K.  Entering debugging mode for the Macintosh is simplified.
  20. There are provisions for later versions of several compilers, although
  21. not yet Turbo C++, as we have not gotten an executable with adequate
  22. performance (see Install.ovl for gory details).
  23.  
  24. NetHack should now get along better with Irises, IBM RS/6000s, NeXTs,
  25. and possibly even SCO UNIX.
  26.  
  27. Among the dead bugs are those involving artifact damage, VMS file
  28. manipulation, crushed iron balls, elven equipment, orcs with 2^32-1
  29. daggers, trolls with ridiculously high hitpoints, exploding bags of
  30. holding on the ground, inappropriate messages, saved luck, unbounded
  31. digging on special levels, and several distinct trap problems.]]
  32.  
  33. #! /bin/sh
  34. # This is a shell archive.  Remove anything before this line, then unpack
  35. # it by saving it into a file and typing "sh file".  To overwrite existing
  36. # files, type "sh file -c".  You can also feed this as standard input via
  37. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  38. # will see the following message at the end:
  39. #        "End of archive 1 (of 8)."
  40. # Contents:  MANIFEST.P10 patch10.01
  41. # Wrapped by billr@saab on Fri Feb  8 17:18:56 1991
  42. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  43. if test -f 'MANIFEST.P10' -a "${1}" != "-c" ; then 
  44.   echo shar: Renaming existing file \"'MANIFEST.P10'\" to \"'MANIFEST.P10.orig'\"
  45.   mv -f 'MANIFEST.P10' 'MANIFEST.P10.orig'
  46. fi
  47. echo shar: Extracting \"'MANIFEST.P10'\" \(641 characters\)
  48. sed "s/^X//" >'MANIFEST.P10' <<'END_OF_FILE'
  49. X   File Name        Archive #    Description
  50. X-----------------------------------------------------------
  51. X Install.mac                8    
  52. X MANIFEST.P10               1    This shipping list
  53. X UPDATE10                   3    
  54. X do_patch10.sh              2    
  55. X mac/NH.proj.hqx            6    
  56. X mac/NH.rsrc.hqx            6    
  57. X mac/SL.proj.hqx            7    
  58. X others/exesmurf.c          8    
  59. X others/exesmurf.doc        8    
  60. X others/ovlmgr.doc          7    
  61. X others/ovlmgr.uu           7    
  62. X patch10.01                 1    
  63. X patch10.02                 5    
  64. X patch10.03                 2    
  65. X patch10.04                 4    
  66. X patch10.05                 3    
  67. X src/lev_main.c             8    
  68. END_OF_FILE
  69. if test 641 -ne `wc -c <'MANIFEST.P10'`; then
  70.     echo shar: \"'MANIFEST.P10'\" unpacked with wrong size!
  71. fi
  72. # end of 'MANIFEST.P10'
  73. if test -f 'patch10.01' -a "${1}" != "-c" ; then 
  74.   echo shar: Renaming existing file \"'patch10.01'\" to \"'patch10.01.orig'\"
  75.   mv -f 'patch10.01' 'patch10.01.orig'
  76. fi
  77. echo shar: Extracting \"'patch10.01'\" \(51657 characters\)
  78. sed "s/^X//" >'patch10.01' <<'END_OF_FILE'
  79. X*** Files    Fri Jun  1 08:33:57 1990
  80. X--- Files    Thu Jan 31 12:07:06 1991
  81. X***************
  82. X*** 49,57 ****
  83. X  others:
  84. X  (files for MSDOS (and OS/2) version)
  85. X  Makefile.lib    Makefile.msc    Makefile.os2    Makefile.ovl    Makefile.pc
  86. X! Makefile.tcc    NetHack.cnf     exesmurf.c      exesmurf.uu     maintain.ovl
  87. X! ovlmgr.asm      ovlmgr.doc      ovlmgr.uu       splitf.c        splitf.uu
  88. X! suputils.ovl    termcap.uu      trampoli.c
  89. X  (file for MSDOS and VMS versions)
  90. X  termcap
  91. X  (files for MSDOS, Amiga, and Atari versions)
  92. X--- 49,56 ----
  93. X  others:
  94. X  (files for MSDOS (and OS/2) version)
  95. X  Makefile.lib    Makefile.msc    Makefile.os2    Makefile.ovl    Makefile.pc
  96. X! Makefile.tcc    NetHack.cnf     exesmurf.c      exesmurf.doc    maintain.ovl
  97. X! ovlmgr.asm      ovlmgr.doc      ovlmgr.uu       termcap.uu      trampoli.c
  98. X  (file for MSDOS and VMS versions)
  99. X  termcap
  100. X  (files for MSDOS, Amiga, and Atari versions)
  101. X*** Install.ami    Tue Jun 26 21:19:54 1990
  102. X--- Install.ami    Mon Feb  4 16:19:35 1991
  103. X***************
  104. X*** 2,8 ****
  105. X      Instructions for compiling and installing NetHack 3.0
  106. X              on an AMIGA system
  107. X      =====================================================
  108. X!             Last Revision: 27 May 1990
  109. X  
  110. X  Overview
  111. X  --------
  112. X--- 2,8 ----
  113. X      Instructions for compiling and installing NetHack 3.0
  114. X              on an AMIGA system
  115. X      =====================================================
  116. X!             Last Revision: 4 February, 1991
  117. X  
  118. X  Overview
  119. X  --------
  120. X***************
  121. X*** 18,29 ****
  122. X  
  123. X  Requirements
  124. X  ------------
  125. X!     Amiga 500,1000,2000,2500  running WorkBench 1.3 and KickStart 1.2 or 1.3.
  126. X!     (As of this time, the Amiga 3000 running beta-release versions of
  127. X!     WorkBench 2.0 are not supported.  While the core of the game appears to
  128. X!     function, the custom font is not recognized by the operating system.
  129. X!     The NetHack team welcomes reports of specific problems and solutions on
  130. X!     this [or any other] subject.)
  131. X      one meg of RAM and one floppy drive (painful, but functional)
  132. X  or    one meg of RAM and two floppy drives (much better)
  133. X  or    more than one meg of RAM and a hard disk with 2+ meg free (best)
  134. X--- 18,27 ----
  135. X  
  136. X  Requirements
  137. X  ------------
  138. X!     Amiga 500,1000,2000,2500 running WorkBench 1.3 and KickStart 1.2 or 1.3.
  139. X!     Amiga 3000 running WorkBench 1.3 or 2.0.  For the Amiga 3000 under 2.0,
  140. X!     be sure to follow the directions below (don't panic, the changes are
  141. X!     minor.)
  142. X      one meg of RAM and one floppy drive (painful, but functional)
  143. X  or    one meg of RAM and two floppy drives (much better)
  144. X  or    more than one meg of RAM and a hard disk with 2+ meg free (best)
  145. X***************
  146. X*** 41,47 ****
  147. X      * NetHack (executable code)
  148. X      * Rumors file
  149. X      * Oracle file
  150. X!     * All of the various help and informational files (help, opthelp, etc)
  151. X      * Special level files (castle, tower1, tower2, tower3, endgame)
  152. X      * Amiga with at least 1 meg memory (may be optimistic....)
  153. X  
  154. X--- 39,45 ----
  155. X      * NetHack (executable code)
  156. X      * Rumors file
  157. X      * Oracle file
  158. X!     * All the various help and informational files (help, opthelp, etc)
  159. X      * Special level files (castle, tower1, tower2, tower3, endgame)
  160. X      * Amiga with at least 1 meg memory (may be optimistic....)
  161. X  
  162. X***************
  163. X*** 58,64 ****
  164. X      Installation Steps:
  165. X  
  166. X      1) If you have a hard disk, create a directory named NetHack.
  167. X!        Assign Nethack: to be the path to this directory.  If you have a
  168. X         floppy, format a disk named NetHack.  (If you have a hard disk
  169. X         but only one meg of memory, you will probably not have enough
  170. X         memory: you may need to run from a floppy.)
  171. X--- 56,62 ----
  172. X      Installation Steps:
  173. X  
  174. X      1) If you have a hard disk, create a directory named NetHack.
  175. X!        Assign NetHack: to be the path to this directory.  If you have a
  176. X         floppy, format a disk named NetHack.  (If you have a hard disk
  177. X         but only one meg of memory, you will probably not have enough
  178. X         memory: you may need to run from a floppy.)
  179. X***************
  180. X*** 66,72 ****
  181. X      2) If you have a hard disk, assign HackExe: to the above directory.
  182. X         If you have a floppy, format an additional disk named HackExe.
  183. X  
  184. X!     3) Copy Nethack, NetHack.info, NewGame.info, and NetHackScore.info
  185. X         to HackExe.  Create an empty file called NewGame (WorkBench
  186. X         refuses to Duplicate a project icon without a file attached).
  187. X  
  188. X--- 64,70 ----
  189. X      2) If you have a hard disk, assign HackExe: to the above directory.
  190. X         If you have a floppy, format an additional disk named HackExe.
  191. X  
  192. X!     3) Copy NetHack, NetHack.info, NewGame.info, and NetHackScore.info
  193. X         to HackExe.  Create an empty file called NewGame (WorkBench
  194. X         refuses to Duplicate a project icon without a file attached).
  195. X  
  196. X***************
  197. X*** 82,98 ****
  198. X         to set GRAPHICS if you are not using the optional font.  If you
  199. X         have only one meg of ram, do not use a ram disk.
  200. X  
  201. X      That's all there is to it!  If you are using the CLI interface, make sure
  202. X      that the stack is set fairly large (at LEAST 40000 bytes).  Move to the
  203. X      NetHack: directory, and type NetHack <cmd line options>.  If you're
  204. X      using the WorkBench interface, click on the NetHack directory/disk.
  205. X!     You should see 3 icons.  Select the "NewGame" option, and "Duplicate" from
  206. X!     the WorkBench pull down menu.  This icon now represents your personal
  207. X!     profile.  You can now rename this icon, and tailor it to your liking
  208. X!     as described below.  If you start a game from the WorkBench interface,
  209. X!     saving the game will automatically tie the personal file icon to the
  210. X!     saved game.  So the next time you select your icon, the game will be
  211. X!     restored.
  212. X  
  213. X      As mentioned above, the icon representing your personal profile can be
  214. X      customized.  This is done via the the Info command available from
  215. X--- 80,104 ----
  216. X         to set GRAPHICS if you are not using the optional font.  If you
  217. X         have only one meg of ram, do not use a ram disk.
  218. X  
  219. X+     6) AMIGA 3000 running AmigaDos 2.0 ONLY:
  220. X+        If you are using the optional font, you need to build a new
  221. X+        hack.font file.  Execute the following commands from the CLI:
  222. X+         copy NetHack:hack FONTS: all
  223. X+         FixFonts
  224. X+         copy FONTS:hack.font NetHack:
  225. X+         delete FONTS:hack all
  226. X+ 
  227. X      That's all there is to it!  If you are using the CLI interface, make sure
  228. X      that the stack is set fairly large (at LEAST 40000 bytes).  Move to the
  229. X      NetHack: directory, and type NetHack <cmd line options>.  If you're
  230. X      using the WorkBench interface, click on the NetHack directory/disk.
  231. X!     You should see 3 icons.  Select the "NewGame" option, and "Duplicate"
  232. X!     from the WorkBench pull down menu.  This icon now represents your
  233. X!     personal profile.  You can now rename this icon, and tailor it to your
  234. X!     liking as described below.  If you start a game from the WorkBench
  235. X!     interface, saving the game will automatically tie the personal file icon
  236. X!     to the saved game.  So the next time you double click your icon, the game
  237. X!     will be restored.
  238. X  
  239. X      As mentioned above, the icon representing your personal profile can be
  240. X      customized.  This is done via the the Info command available from
  241. X***************
  242. X*** 99,105 ****
  243. X      WorkBench.  You can adjust the following using the ToolTypes from the
  244. X      WorkBench info command:
  245. X  
  246. X!     * OPTIONS=<options> - Options as avaliable in the NetHack.cnf file.
  247. X  
  248. X      * HACKDIR=<directory> - Set NetHack working directory to be this
  249. X        directory.
  250. X--- 105,111 ----
  251. X      WorkBench.  You can adjust the following using the ToolTypes from the
  252. X      WorkBench info command:
  253. X  
  254. X!     * OPTIONS=<options> - Options as available in the NetHack.cnf file.
  255. X  
  256. X      * HACKDIR=<directory> - Set NetHack working directory to be this
  257. X        directory.
  258. X***************
  259. X*** 226,234 ****
  260. X      for the function yyunput.  Delete the word "register" from this line.
  261. X      Note that if you neglect to do this, you will get an Error 72 at line 319
  262. X      of file lev_comp.l (this is the correct message - lev_lex.c is flex output).
  263. X!     Save the changed file.  Later compiler versions may or may not need this
  264. X!     fix.
  265. X  
  266. X      Type 'CD NetHack:' and then type "lmk -f Amiga:Makefile.ami".  If all
  267. X      goes well, you'll have a working binary a couple of hours later (depending
  268. X      on your hardware configuration).  A couple of notes and warnings from the
  269. X--- 232,243 ----
  270. X      for the function yyunput.  Delete the word "register" from this line.
  271. X      Note that if you neglect to do this, you will get an Error 72 at line 319
  272. X      of file lev_comp.l (this is the correct message - lev_lex.c is flex output).
  273. X!     Save the changed file.  Later compiler versions do not need this fix.
  274. X  
  275. X+     There is one other bug available: depending on the way your versions of
  276. X+     lex/flex and yacc/bison generate #line statements, you may get requestors
  277. X+     for "Src1: (just one quote).  If so, just select Cancel on the requestor.
  278. X+ 
  279. X      Type 'CD NetHack:' and then type "lmk -f Amiga:Makefile.ami".  If all
  280. X      goes well, you'll have a working binary a couple of hours later (depending
  281. X      on your hardware configuration).  A couple of notes and warnings from the
  282. X***************
  283. X*** 236,248 ****
  284. X  
  285. X      * The primary Lattice compiler used on the Amiga port was version
  286. X        5.05.  Previous versions of NetHack have been successfully compiled
  287. X!       with 5.04 and 5.04a.
  288. X  
  289. X      * The function monsndx, in file mondata.c, has a section of code
  290. X        which Lattice 5.04 compiles incorrectly.  A hack has been written
  291. X        around this so that Lattice will generate the correct code.  It is
  292. X        recommended that you leave this in place, and not attempt to
  293. X!       "improve" it.  This fix "does the right thing" in version 5.05.
  294. X  
  295. X      * Included in the Lattice port is code for generating a SnapShot.tb
  296. X        file upon catching various internal disasters.  That is why the
  297. X--- 245,257 ----
  298. X  
  299. X      * The primary Lattice compiler used on the Amiga port was version
  300. X        5.05.  Previous versions of NetHack have been successfully compiled
  301. X!       with 5.04 and 5.04a.  Final development of PL10 was done with 5.10.
  302. X  
  303. X      * The function monsndx, in file mondata.c, has a section of code
  304. X        which Lattice 5.04 compiles incorrectly.  A hack has been written
  305. X        around this so that Lattice will generate the correct code.  It is
  306. X        recommended that you leave this in place, and not attempt to
  307. X!       "improve" it.  This fix "does the right thing" in later versions.
  308. X  
  309. X      * Included in the Lattice port is code for generating a SnapShot.tb
  310. X        file upon catching various internal disasters.  That is why the
  311. X***************
  312. X*** 260,265 ****
  313. X--- 269,278 ----
  314. X  SECTION IV  - AZTEC/MANX Compilation Instructions
  315. X  -------------------------------------------------
  316. X  
  317. X+     Note: The current version of nethack does _not_ run with the Aztec 5.0
  318. X+     compiler.  Future releases of Nethack will remedy this, but currently
  319. X+     only 3.6 is supported.
  320. X+ 
  321. X      NetHack 3.0 compiles and runs fine under Aztec 3.6, but a little bit
  322. X      of work is necessary.  The problem is that the Aztec pre-processor
  323. X      is fairly stupid, and doesn't recognize the defined() pre-processor
  324. X***************
  325. X*** 316,322 ****
  326. X        be a warning when defining lev_lex.c that LEV_LEX is redefined.  This
  327. X        is OK.  Any other warnings should be investigated.
  328. X  
  329. X!     * I haven't tried sdb on it, as I can't affort the disk space.  (You'll
  330. X        have to save the intermediate cpp files if you cpp).  Unless you've
  331. X            got a whopping amount of memory, I suspect it's going to be too large.
  332. X  
  333. X--- 329,335 ----
  334. X        be a warning when defining lev_lex.c that LEV_LEX is redefined.  This
  335. X        is OK.  Any other warnings should be investigated.
  336. X  
  337. X!     * I haven't tried sdb on it, as I can't afford the disk space.  (You'll
  338. X        have to save the intermediate cpp files if you cpp).  Unless you've
  339. X            got a whopping amount of memory, I suspect it's going to be too large.
  340. X  
  341. X*** Install.dos    Fri Jun  1 17:17:42 1990
  342. X--- Install.dos    Tue Feb  5 08:55:49 1991
  343. X***************
  344. X*** 2,16 ****
  345. X             on an MS-DOS, TOS, or OS/2 system
  346. X      =====================================================
  347. X          (or, How to make PC, ST, and OS/2 NetHack 3.0)
  348. X!               Last revision: 22 May 1990
  349. X  
  350. X      Credit for ST and OS/2 NetHack 3.0 goes to Eric Smith and Timo Hakulinen,
  351. X      respectively.  Additional credit should be given to Steve Creps and
  352. X      Mike Threepoint for PC NetHack.
  353. X  
  354. X! *** Note: if you intend to compile NetHack on an MS-DOS PC using OVERLAY, 
  355. X!     please turn to the instructions in Install.ovl.  The overlay version is
  356. X!     currently available only for MSC.
  357. X  
  358. X  1.  Make sure all the NetHack files are in the appropriate directory structure.
  359. X      You should have a main directory with subdirectories src, include, auxil,
  360. X--- 2,17 ----
  361. X             on an MS-DOS, TOS, or OS/2 system
  362. X      =====================================================
  363. X          (or, How to make PC, ST, and OS/2 NetHack 3.0)
  364. X!               Last revision: 04 Feb 1991
  365. X  
  366. X      Credit for ST and OS/2 NetHack 3.0 goes to Eric Smith and Timo Hakulinen,
  367. X      respectively.  Additional credit should be given to Steve Creps and
  368. X      Mike Threepoint for PC NetHack.
  369. X  
  370. X! *** Note: if you intend to compile an overlaid version of NetHack on an
  371. X!     MS-DOS PC, please refer to the instructions in Install.ovl.  The overlaid
  372. X!     version is currently supported only for MSC, however some notes about
  373. X!     using Turbo C++ 1.0 are included for those who are not easily discouraged.
  374. X  
  375. X  1.  Make sure all the NetHack files are in the appropriate directory structure.
  376. X      You should have a main directory with subdirectories src, include, auxil,
  377. X***************
  378. X*** 50,63 ****
  379. X      random.c is only needed if you want the high-quality random number
  380. X      generation routines.
  381. X  
  382. X!     trampoli.c and ovlmgr.obj files are needed for the MS-DOS overlays.
  383. X!     You may ignore these.
  384. X  
  385. X-     TOS users should use others/lev_lex.c instead of src/lev_lex.c.
  386. X-     MS-DOS users should be able to use either, but the one in src
  387. X-     is smaller.  If you have flex or some other lex work-alike, use
  388. X-     that to produce lev_lex.c from lev_comp.l.
  389. X- 
  390. X      Obviously, TOS users don't need the MS-DOS overlay functions.
  391. X      Moreover, the GCC "curses" library has termcap routines built
  392. X      in, so if you have this you don't need termcap.arc.
  393. X--- 51,59 ----
  394. X      random.c is only needed if you want the high-quality random number
  395. X      generation routines.
  396. X  
  397. X!     trampoli.c, ovlmgr.asm, exesmurf.c, and ovlmgr.uu files are needed for
  398. X!     the MS-DOS overlays.  You may ignore these.
  399. X  
  400. X      Obviously, TOS users don't need the MS-DOS overlay functions.
  401. X      Moreover, the GCC "curses" library has termcap routines built
  402. X      in, so if you have this you don't need termcap.arc.
  403. X***************
  404. X*** 71,77 ****
  405. X      Microsoft C 4.0     Makefile.pc
  406. X      Turbo C 2.0        Makefile.tcc
  407. X      OS/2:
  408. X!     Microsoft C 5.1     Makefile.os2
  409. X      TOS:
  410. X      GCC 1.34        Makefile.st
  411. X  
  412. X--- 67,73 ----
  413. X      Microsoft C 4.0     Makefile.pc
  414. X      Turbo C 2.0        Makefile.tcc
  415. X      OS/2:
  416. X!     Microsoft C 5.1 & 6.0    Makefile.os2
  417. X      TOS:
  418. X      GCC 1.34        Makefile.st
  419. X  
  420. X***************
  421. X*** 191,198 ****
  422. X      SHELL
  423. X      TEXTCOLOR        1K
  424. X  
  425. X!     Using Turbo C, we eked by with just WIZARD, ZEROCOMP, BITFIELDS, ELBERETH,
  426. X!     HARD, REDO, DGK and TEXTCOLOR.
  427. X  
  428. X  5.  If you're using a compiler not in the list in step 3, you may want to look
  429. X      through system.h, in the include directory.  This file matches the return
  430. X--- 187,194 ----
  431. X      SHELL
  432. X      TEXTCOLOR        1K
  433. X  
  434. X!     Using Turbo C (long ago), we eked by with just WIZARD, ZEROCOMP,
  435. X!     BITFIELDS, ELBERETH, HARD, REDO, DGK and TEXTCOLOR.
  436. X  
  437. X  5.  If you're using a compiler not in the list in step 3, you may want to look
  438. X      through system.h, in the include directory.  This file matches the return
  439. X***************
  440. X*** 256,262 ****
  441. X      your game directory.  (Note:  GCC's termcap routines have built-in
  442. X      defaults, so the termcap file is not necessary with that compiler.)
  443. X  
  444. X!     To use funky graphics charaters in TOS, uudecode "atarifnt.uue" and unarc
  445. X      the resulting "atarifnt.arc".  This contains a program to run that makes
  446. X      some line graphics characters available to NetHack.  To use them, uncomment
  447. X      the appropriate line in your NetHack.cnf file, and run the program before
  448. X--- 252,258 ----
  449. X      your game directory.  (Note:  GCC's termcap routines have built-in
  450. X      defaults, so the termcap file is not necessary with that compiler.)
  451. X  
  452. X!     To use funky graphics characters in TOS, uudecode "atarifnt.uue" and unarc
  453. X      the resulting "atarifnt.arc".  This contains a program to run that makes
  454. X      some line graphics characters available to NetHack.  To use them, uncomment
  455. X      the appropriate line in your NetHack.cnf file, and run the program before
  456. X***************
  457. X*** 295,308 ****
  458. X      storage.  It is also a good idea to compile with as much free RAM as
  459. X      possible.  It may otherwise get crowded with the bigger, more complex
  460. X      source files.  (Compiler bombs with "out of heap space" or similar.)
  461. X!     If this happens, strip your configuration, zap TSR's etc.
  462. X  
  463. X  4)  On a 286 10MHz PC you will have NetHack in about 2 - 2.5 hours.
  464. X  
  465. X! 5)  Both OS/2 NetHack and the overlaid PC NetHack have been developed using
  466. X!     MSC 5.1.  MSC 6.0 is on the market, but since there hasn't been enough
  467. X!     time to fully test the game compiled with MSC 6.0, the distribution version
  468. X!     supports officially only MSC 5.1.  To compile NetHack with MSC 6.0, it may
  469. X!     be necessary to make some slight modifications to respective makefiles
  470. X!     as well as some source files.  Also, when compiling OS/2 version with MSC
  471. X!     6.0, change library "doscalls" to "os2" in Makefile.os2.
  472. X--- 291,307 ----
  473. X      storage.  It is also a good idea to compile with as much free RAM as
  474. X      possible.  It may otherwise get crowded with the bigger, more complex
  475. X      source files.  (Compiler bombs with "out of heap space" or similar.)
  476. X!     If this happens, strip your configuration, zap TSR's etc.  When compiling
  477. X!     in OS/2, these troubles are mostly nonexistent and thus, people with dual
  478. X!     systems can try to cross compile for DOS in OS/2.
  479. X  
  480. X  4)  On a 286 10MHz PC you will have NetHack in about 2 - 2.5 hours.
  481. X  
  482. X! 5)  OS/2 NetHack can be compiled using either MSC 5.1 or MSC 6.00A, the
  483. X!     maintenance version of MSC 6.0.  Original version of the compiler is
  484. X!     quite buggy - don't use it if possible.  See Makefile.os2 for details.
  485. X! 
  486. X! 6)  The default setting of the warning flags in Makefile.st will cause
  487. X!     some spurious warnings about const variables being misused, especially
  488. X!     when making lev_comp.ttp. You can safely ignore all of these, or
  489. X!     turn the warnings off altogether.
  490. X*** Install.ovl    Sun Jun  3 12:13:27 1990
  491. X--- Install.ovl    Tue Feb  5 15:06:10 1991
  492. X***************
  493. X*** 2,14 ****
  494. X              NetHack 3.0 on an MS-DOS system
  495. X          ======================================================
  496. X              (or, How to make PC NetHack 3.0)
  497. X!               Last revision: June 02, 1990
  498. X  
  499. X      (Credit for a runnable full PC NetHack 3.0 goes to the overlay team of
  500. X       Pierre Martineau, Stephen Spackman, Norm Meluch, and Kevin Smolkowski,
  501. X       who built on the work of Steve Creps and Mike Threepoint.)
  502. X  
  503. X- 
  504. X  I.  Dispelling the Myths:
  505. X  
  506. X      Compiling NetHack is not as easy as it sounds, nor as hard as it looks,
  507. X--- 2,13 ----
  508. X              NetHack 3.0 on an MS-DOS system
  509. X          ======================================================
  510. X              (or, How to make PC NetHack 3.0)
  511. X!               Last revision: Feb 01, 1991
  512. X  
  513. X      (Credit for a runnable full PC NetHack 3.0 goes to the overlay team of
  514. X       Pierre Martineau, Stephen Spackman, Norm Meluch, and Kevin Smolkowski,
  515. X       who built on the work of Steve Creps and Mike Threepoint.)
  516. X  
  517. X  I.  Dispelling the Myths:
  518. X  
  519. X      Compiling NetHack is not as easy as it sounds, nor as hard as it looks,
  520. X***************
  521. X*** 15,20 ****
  522. X--- 14,25 ----
  523. X      however it will behoove you to read this entire file through before
  524. X      beginning the task.
  525. X  
  526. X+ *** Note: If you are going to try compilation with TC++ 1.0, please feel
  527. X+     free to read through this file, but bear in mind that most comments are
  528. X+     directed toward MSC users.  TC++ hints are at the very end of this file.
  529. X+     If you have any Borland Turbo C product without VROOM (overlay ability)
  530. X+     you are wasting your time reading this file.
  531. X+ 
  532. X      The NetHack executable that you are about to get will be generated by an
  533. X      overlay linker.  The beauty of this overlay linker beastie is that it will
  534. X      create an executable that will function in much less memory than it would
  535. X***************
  536. X*** 30,36 ****
  537. X      manager.  This program has been enhanced since its release in November
  538. X      1989.  It will now allow NetHack to use EMS memory if any is available,
  539. X      therefore, RAM requirements can be reduced to the minimum with at least
  540. X!     256K of EMS.
  541. X  
  542. X      As of patch level 7, version 3.0 has an added feature in the Makefile.  
  543. X      This feature enables a structured break-up of the object modules so that 
  544. X--- 35,44 ----
  545. X      manager.  This program has been enhanced since its release in November
  546. X      1989.  It will now allow NetHack to use EMS memory if any is available,
  547. X      therefore, RAM requirements can be reduced to the minimum with at least
  548. X!     256K of EMS.  Also, the overlay manager will now read overlays out of
  549. X!     files completely separate from the EXE.  This will cut down on the size
  550. X!     of files for NetHack making distribution to PCs with low density disk
  551. X!     drives much easier.
  552. X  
  553. X      As of patch level 7, version 3.0 has an added feature in the Makefile.  
  554. X      This feature enables a structured break-up of the object modules so that 
  555. X***************
  556. X*** 65,73 ****
  557. X       programs, but not with NetHack, yet.
  558. X      One of these linkers should be included in your MSC version.
  559. X  
  560. X!    C.    NDmake, version 4.5 or newer, (available from your local ftp site).
  561. X!      As the overlay makefile is pretty large, you will want to use the
  562. X!      large model of NDmake: MAKE45L.EXE, as your make program.
  563. X      MSC 6.0 has a new make program distributed with it that might be
  564. X       able to handle the Makefile.ovl with a few modifications.  This has
  565. X       not been completely tested.  We recommend NDmake 4.5.
  566. X--- 73,84 ----
  567. X       programs, but not with NetHack, yet.
  568. X      One of these linkers should be included in your MSC version.
  569. X  
  570. X!    C.    NDmake, version 4.5 or newer.
  571. X!     As the overlay makefile is pretty large, you will want to use the
  572. X!      large model of NDmake: MAKE45L.EXE, as your make program.  This
  573. X!      should be available from the "usual" archive sites, or you can try
  574. X!      ftp from SIMTEL-20 (wsmr-simtel20.army.mil [26.2.0.74]) or its
  575. X!      more-often-available mirror, wuarchive.wustl.edu [128.252.135.4].
  576. X      MSC 6.0 has a new make program distributed with it that might be
  577. X       able to handle the Makefile.ovl with a few modifications.  This has
  578. X       not been completely tested.  We recommend NDmake 4.5.
  579. X***************
  580. X*** 93,99 ****
  581. X  
  582. X  
  583. X  V.  To compile your copy of NetHack on a MSDOS machine:
  584. X!     (or "just follow the "simple" steps outlined below.)
  585. X  
  586. X  1.  It almost goes without saying that you should make sure that your tools
  587. X      are set up and running correctly.
  588. X--- 104,110 ----
  589. X  
  590. X  
  591. X  V.  To compile your copy of NetHack on a MSDOS machine:
  592. X!     (or "just follow these few 'simple' steps outlined below.")
  593. X  
  594. X  1.  It almost goes without saying that you should make sure that your tools
  595. X      are set up and running correctly.
  596. X***************
  597. X*** 100,107 ****
  598. X  
  599. X  2.  Make sure all the NetHack files are in the appropriate directory
  600. X      structure.  You should have a main directory with subdirectories
  601. X!     src, include, auxil, others, amiga, mac, and vms.  If you do not
  602. X!     follow this structure, the Makefile.ovl will not function properly.
  603. X  
  604. X      All the shared and UNIX-specific .c files and the source Makefile(.src)
  605. X      belong in src; all the PC *.c files and PC make files belong in others;
  606. X--- 111,120 ----
  607. X  
  608. X  2.  Make sure all the NetHack files are in the appropriate directory
  609. X      structure.  You should have a main directory with subdirectories
  610. X!     src, include, auxil, others, amiga, mac, and vms.  You will also
  611. X!     need to create a directory under src called "o", (src\o).  If you
  612. X!     do not follow this structure, the Makefile.ovl will not function
  613. X!     properly.
  614. X  
  615. X      All the shared and UNIX-specific .c files and the source Makefile(.src)
  616. X      belong in src; all the PC *.c files and PC make files belong in others;
  617. X***************
  618. X*** 124,130 ****
  619. X      based on the following criteria.  You will probably want to include
  620. X      most all of these files.
  621. X  
  622. X!     You will definitely need pc*.c, msdos.c, and trampoli.c.
  623. X  
  624. X      random.c is only needed if you want the high-quality random number
  625. X      generation routines.
  626. X--- 137,143 ----
  627. X      based on the following criteria.  You will probably want to include
  628. X      most all of these files.
  629. X  
  630. X!     You will definitely need pc*.c, msdos.c, trampoli.c, and exesmurf.c.
  631. X  
  632. X      random.c is only needed if you want the high-quality random number
  633. X      generation routines.
  634. X***************
  635. X*** 148,173 ****
  636. X      ovlmgr.uu (MS-DOS overlay manager) is the uuencoded assembled
  637. X      object module for the overlay manager in case you do not have an assembler.
  638. X      You will need to run a uudecode utility on this file too, to generate
  639. X!     ovlmgr.obj.
  640. X  
  641. X-     Exesmurf.uu is the uuencoded copy of the exesmurf utility which displays
  642. X-     and modifies the contents of an executable file header.  It is similar
  643. X-     to Microsoft's exemod utility but it provides infomation on overlays
  644. X-     which EXEMOD does not.  It is used to modify the Nethack executable's
  645. X-     memory allocation.
  646. X- 
  647. X  4.  Rename the file Makefile.ovl to "Makefile." (no extension), and move 
  648. X      it into your src directory.
  649. X  
  650. X      The PC NetHack makefiles are set up for NDMAKE, a public domain
  651. X!     "make" utility.  Both Microsoft's "make" leaves much to
  652. X!     be desired.  It is worth the extra effort to get NDMAKE if you don't
  653. X      already have it.  Among other things, NDMAKE automatically generates
  654. X      link response files when the link command involves so many objects
  655. X!     that the command would become longer than DOS can handle.  If you must
  656. X!     use Microsoft's or Borland's "make", you'll need to edit the makefile
  657. X!     into a form your make can use, and add instructions to generate a link
  658. X!     response file.
  659. X  
  660. X      If you are going to be constructing the Fred Fish termlib you will need 
  661. X      the Makefile.lib.  Copy this to your source directory too, and do not 
  662. X--- 161,182 ----
  663. X      ovlmgr.uu (MS-DOS overlay manager) is the uuencoded assembled
  664. X      object module for the overlay manager in case you do not have an assembler.
  665. X      You will need to run a uudecode utility on this file too, to generate
  666. X!     ovlmgr.obj.  If you are using this copy of ovlmgr.obj uudecode and
  667. X!     leave the ovlmgr.obj generated in the others directory; the makefile
  668. X!     will access it when it needs it.
  669. X  
  670. X  4.  Rename the file Makefile.ovl to "Makefile." (no extension), and move 
  671. X      it into your src directory.
  672. X  
  673. X      The PC NetHack makefiles are set up for NDMAKE, a public domain
  674. X!     "make" utility.  Microsoft 5.1's "make" leaves much to be desired.
  675. X!     MSC 6.0's NMAKE can be used, however it will take some tinkering with
  676. X!     the makefile to get it to work.  If you are going to do this you will
  677. X!     need to take a cue from Makefile.os2, which has full support for NMAKE.
  678. X!     Believe me, it is worth the extra effort to get NDMAKE if you don't
  679. X      already have it.  Among other things, NDMAKE automatically generates
  680. X      link response files when the link command involves so many objects
  681. X!     that the command would become longer than DOS can handle.
  682. X  
  683. X      If you are going to be constructing the Fred Fish termlib you will need 
  684. X      the Makefile.lib.  Copy this to your source directory too, and do not 
  685. X***************
  686. X*** 272,283 ****
  687. X      NetHack.exe, however sufficient testing has not been completed at this
  688. X      time for us to "recommend" its use.
  689. X  
  690. X! 2)  Save files and bones files from previous versions will not work with
  691. X!     NetHack 3.0.  Don't bother trying to keep them.  Record (score) files
  692. X!     from before 3.0 patchlevel 7 will almost work, but you need to make one
  693. X!     change manually to them:  At the end of each line is a word or phrase
  694. X!     specifying what killed the player.  Change the string to start with the
  695. X!     words "killed by", "killed by a", or "killed by an" (whichever is
  696. X      appropriate).  If the death was petrification, it should read "petrified
  697. X      by" instead of "killed by".  Don't change "starvation", "quit", "escaped",
  698. X      or "ascended".
  699. X--- 281,295 ----
  700. X      NetHack.exe, however sufficient testing has not been completed at this
  701. X      time for us to "recommend" its use.
  702. X  
  703. X! 2)  Save files and bones files from any version of NetHack (other than
  704. X!     3.0 patchlevel 9) will not work with this NetHack.  Don't bother trying 
  705. X!     to keep them.  If you are going to try to bring a save file forward from
  706. X!     pl 9 you will have to 'touch' it, or otherwise update the date and time
  707. X!     on the file to later than the time on the NETHACK.EXE file.  Record
  708. X!     (score) files from before 3.0 patchlevel 7 will almost work, but you need
  709. X!     to make one change manually to them:  At the end of each line is a word or
  710. X!     phrase specifying what killed the player.  Change the string to start with
  711. X!     the words "killed by", "killed by a", or "killed by an" (whichever is
  712. X      appropriate).  If the death was petrification, it should read "petrified
  713. X      by" instead of "killed by".  Don't change "starvation", "quit", "escaped",
  714. X      or "ascended".
  715. X***************
  716. X*** 291,293 ****
  717. X--- 303,372 ----
  718. X  4)  During linking the Microsoft Overlay Linker will need temporary storage
  719. X      space.  Make sure you have about a meg of free disk wherever you have
  720. X      defined your temporary storage.
  721. X+ 
  722. X+ A special note for those attempting compilation with Turbo C++ 1.0 (or better)
  723. X+ ------------------------------------------------------------------------------
  724. X+ 
  725. X+ At this time NetHack has been compiled on a PC using TC++ with marginal
  726. X+ results.  There are some modifications that need to be made to the source
  727. X+ in order to accomplish this.  Unfortunately 3.0 NetHack is not receiving
  728. X+ "official" support.  You will have to wait for 3.1 for that.  If you
  729. X+ attempt TC++ compilation and have questions please feel free to write
  730. X+ to us, but don't expect (correct) answers.
  731. X+ 
  732. X+ Not to be too negative though, here is what little advice we have on
  733. X+ how to proceed:
  734. X+ 
  735. X+ 1)    First, make sure your version of TC++ will work.  Early releases of
  736. X+     TC++ 1.0 had a serious bug in their overlay libraries.  A free fix
  737. X+     is available from a Borland BBS.  (408)439-9181.  You will get
  738. X+     *nowhere* if you do not have this fix.
  739. X+ 
  740. X+ 2)    You will need to create your own makefile from the current Makefile.tcc
  741. X+     and Makefile.ovl.  You're pretty much on your own here.  Some have
  742. X+     used Borland's MAKE 3.0, others have used NDMake 4.5 for compilation.
  743. X+     If you elect to use NDMake 4.5 you will run into memory problems,
  744. X+     Borland's MAKE avoids this by swapping itself out of memory when
  745. X+     other programs are running.
  746. X+ 
  747. X+ 3)    Use TC++'s -A option (for __STDC__ to be defined) and use the -Y
  748. X+         option to enable overlays.  The -A will leave you with problems with
  749. X+         the fileno() macro.  To solve this add a 
  750. X+         #define fileno(f) (f->fd)
  751. X+     to global.h or some such.
  752. X+ 
  753. X+ 4)    You will probably need to play with the #ifdef __MSDOS__ in config.h.
  754. X+     The "first area" is for TC and does not define things like
  755. X+     NEARDATA etc.
  756. X+ 
  757. X+ 5)    You will probably need to massage the lines in global.h that sets
  758. X+     CHAR_P, XCHAR_P ... to int.  These need to be set (for __STDC__)
  759. X+         to int for the -A case of TC++ 1.0.
  760. X+ 
  761. X+ 6)    TC++ has trouble with informal declarations using 'static const char *'
  762. X+     where the formal parameters are of type 'int'.  Thus any declarations
  763. X+     that look like this:
  764. X+         static const char *FDECL(foo, int);
  765. X+     need to be changed (by hand) to:
  766. X+         static const char *FDECL(foo, (int bar));
  767. X+ 
  768. X+ 7)    Barfage on 'struct permonst *' can possibly be corrected by changing
  769. X+     type 'void *'.
  770. X+ 
  771. X+ 8)    Choking on msmsg declaration and definition and the like can be
  772. X+         corrected by the setting definition of VDECL(f, a) to f() in global.h.
  773. X+ 
  774. X+ 9)    Finally, you will need to work with the overlay buffer size to
  775. X+     optimize performance.  Using the OVLx (see maintain.ovl) scheme should
  776. X+     help performance too.
  777. X+ 
  778. X+ Good luck.  BTW, any EXE produced has functioned somewhat lethargically with
  779. X+ abysmally slow overlay swapping times.  If you do manage to succeed, and can
  780. X+ figure out how to tune the game well, please write to us.  We are at
  781. X+ 
  782. X+     nethack-bugs@linc.cis.upenn.edu
  783. X+ 
  784. X+ We love to hear from you, and we *need* to hear from you to get good support
  785. X+ for 3.1!
  786. X+ 
  787. X+ Hack On!
  788. X*** Install.unix    Tue Apr 17 23:57:35 1990
  789. X--- Install.unix    Tue Feb  5 09:25:46 1991
  790. X***************
  791. X*** 82,88 ****
  792. X      files often produces amusing but useless confusions on the game's part.)
  793. X  
  794. X  5.  Xenix/286's lex generates a faulty lexical analyser from lev_comp.l.
  795. X!     The beta-release of flex 2.1 (avaliable from uunet, osu-cis,
  796. X      prep.ai.mit.edu, etc.) can be used to generate the lexer.
  797. X      The only change to flex is to change "#define yyleng (yy_cp - yy_bp)"
  798. X      to "#define yyleng (int)(yy_cp - yy_bp)" in flex.skel.
  799. X--- 82,88 ----
  800. X      files often produces amusing but useless confusions on the game's part.)
  801. X  
  802. X  5.  Xenix/286's lex generates a faulty lexical analyser from lev_comp.l.
  803. X!     The beta-release of flex 2.1 (available from uunet, osu-cis,
  804. X      prep.ai.mit.edu, etc.) can be used to generate the lexer.
  805. X      The only change to flex is to change "#define yyleng (yy_cp - yy_bp)"
  806. X      to "#define yyleng (int)(yy_cp - yy_bp)" in flex.skel.
  807. X***************
  808. X*** 96,103 ****
  809. X  7.  If you are trying to compile NetHack on an AT&T 3B that is running an
  810. X      OS earlier than SVR3, you are likely to have problems with overflowing
  811. X      symbol tables.  This can be worked around by editing the source Makefile
  812. X!     to make the Sys.3B2 target work more like the SysV-AT target, adding
  813. X!     -DDUMB to CFLAGS and DUMB.Setup to the Sys.3B2 dependency line.  The
  814. X      compiler provided with later versions of the OS has a large enough
  815. X      symbol table that it does not need this workaround.
  816. X  
  817. X--- 96,103 ----
  818. X  7.  If you are trying to compile NetHack on an AT&T 3B that is running an
  819. X      OS earlier than SVR3, you are likely to have problems with overflowing
  820. X      symbol tables.  This can be worked around by editing the source Makefile
  821. X!     to make the Sys3B2 target work more like the SysV-AT target, adding
  822. X!     -DDUMB to CFLAGS and DUMB.Setup to the Sys3B2 dependency line.  The
  823. X      compiler provided with later versions of the OS has a large enough
  824. X      symbol table that it does not need this workaround.
  825. X  
  826. X***************
  827. X*** 105,109 ****
  828. X      character, and then either hangs or gets a segmentation fault, you
  829. X      should try changing the schar and uchar definitions in config.h to
  830. X      short ints.  This problem is known to occur on the AT&T 3B series,
  831. X!     Silicon Graphics Irises, and IBM PC/RT's running AIX, and may occur
  832. X!     on other computers as well.
  833. X--- 105,118 ----
  834. X      character, and then either hangs or gets a segmentation fault, you
  835. X      should try changing the schar and uchar definitions in config.h to
  836. X      short ints.  This problem is known to occur on the AT&T 3B series,
  837. X!     Silicon Graphics Irises, and IBM systems (PC/RT & RS/6000) running AIX,
  838. X!     and may occur on other computers as well.
  839. X! 
  840. X! 9.  Under SCO UNIX, you may have all sorts of complaints about
  841. X!     include/obj.h.  Go to the file and uncomment the marked line, working
  842. X!     around the fact that SCO's system include files preempt a major
  843. X!     NetHack structure name.  Also, there are difficulties with SCO's cc
  844. X!     that thus far have been solved only by changing compilers; one report
  845. X!     says gcc-NetHack works, and another says rcc-NetHack can be made to
  846. X!     work by undef'ing __STDC__, applying note 8, and compiling with -tinfo
  847. X!     and -xenix.
  848. X*** Install.vms    Fri May 25 09:21:00 1990
  849. X--- Install.vms    Wed Jan 30 08:48:26 1991
  850. X***************
  851. X*** 8,23 ****
  852. X      Gentzel.)
  853. X  
  854. X  1.  Building NetHack requires a C compiler (either VAX C or GNU C) and
  855. X!     VMS version 4.6 or later (but see note #9).  It has been tested on 5.3;
  856. X!     as of this writing, 5.4 has not yet been released.  For MicroVMS 4.6
  857. X!     or 4.7, an extra edit is required in file vmsconf.h (see step #3).
  858. X!     The new build procedure (vmsbuild.com) should not need to be
  859. X!     modified; it now accepts an option for selecting VAXC vs GNUC, and it
  860. X!     can detect different versions of VAXC to use appropriate CC command
  861. X!     qualifiers.  Versions of VAXC earlier than v2.3 will produce many
  862. X!     warning messages (over 100 per source file; close to 10,000 total!),
  863. X!     but NetHack has been verified to compile, link, and execute correctly
  864. X!     when built with VAXC v2.2 using vmsbuild.com.
  865. X  
  866. X  2.  Make sure all the NetHack files are in the appropriate directory
  867. X      structure.  You should have a main directory with subdirectories
  868. X--- 8,22 ----
  869. X      Gentzel.)
  870. X  
  871. X  1.  Building NetHack requires a C compiler (either VAX C or GNU C) and
  872. X!     VMS version 4.6 or later (but see note #9).  It has been tested up
  873. X!     through 5.4-1.  For MicroVMS 4.6 or 4.7, an extra edit is required in
  874. X!     file vmsconf.h (see step #3).  The new build procedure (vmsbuild.com)
  875. X!     should not need to be modified; it now accepts an option for selecting
  876. X!     VAXC vs GNUC, and it can detect different versions of VAXC to use
  877. X!     appropriate CC command qualifiers.  Versions of VAXC earlier than v2.3
  878. X!     will produce many warning messages (over 100 per source file; close to
  879. X!     10,000 total!), but NetHack has been verified to compile, link, and
  880. X!     execute correctly when built with VAXC v2.2 using vmsbuild.com.
  881. X  
  882. X  2.  Make sure all the NetHack files are in the appropriate directory
  883. X      structure.  You should have a main directory with subdirectories
  884. X***************
  885. X*** 40,47 ****
  886. X      The distributed copy of config.h will work successfully on VMS;
  887. X      vmsconf.h has conditional code to deal with the UNIX-specific items.
  888. X  
  889. X! 4.  Go to the [.src] directory and look at the top of topten.c.  You may
  890. X!     want to change the definitions of PERSMAX and PERS_IS_UID here to get
  891. X      different behavior from the high score list.
  892. X  
  893. X  5.  If you have lex or flex and yacc or bison, you may edit the procedure
  894. X--- 39,47 ----
  895. X      The distributed copy of config.h will work successfully on VMS;
  896. X      vmsconf.h has conditional code to deal with the UNIX-specific items.
  897. X  
  898. X! 4.  If you want to tailor the scoreboard (record of top game scores),
  899. X!     go to the [.src] directory and look at the top of topten.c.  You can
  900. X!     change the definitions of PERSMAX and PERS_IS_UID here to get
  901. X      different behavior from the high score list.
  902. X  
  903. X  5.  If you have lex or flex and yacc or bison, you may edit the procedure
  904. X***************
  905. X*** 71,76 ****
  906. X--- 71,81 ----
  907. X      create the target directory and copy all necessary files there.
  908. X      After it completes, the files [.src]*.obj, [.src]nethack.olb and
  909. X      [.src]*.exe can be deleted if you wish to recover their disk space.
  910. X+     If the playground (ie, installation) directory is a subdirectory of
  911. X+     an existing directory, be sure that the existing directory and its
  912. X+     parents allow at least world=execute access so that players can reach
  913. X+     the playground directory.  No access to the source directory tree is
  914. X+     necessary.
  915. X  
  916. X  Notes:
  917. X  
  918. X***************
  919. X*** 88,101 ****
  920. X      them.  If you do not already have a termcap file in use on your
  921. X      system there is a small one in file [.OTHERS]TERMCAP.  It contains
  922. X      definitions for common Digital terminals, also suitable for most
  923. X!     clones and emulators.  NetHack uses the translation of the logical
  924. X!     name TERMCAP to find the termcap file, so you need to use the DCL
  925. X!     command DEFINE or ASSIGN to set it up.  It uses the logical name
  926. X      NETHACK_TERM to get the name of the terminal (such as "vt100").  If
  927. X      that logical name is not defined, it tries EMACS_TERM.  If that also
  928. X      is not defined, it uses the value generated by the C Run-Time library,
  929. X      which is normally of the form "vt100-80" or "vt200-132".
  930. X  
  931. X  3.  There is code which attempts to make NetHack secure in case it is
  932. X      installed with privileges (to allow the playground to be protected against
  933. X      world write).  THIS HAS NOT BEEN TESTED.  Install NetHack with privileges
  934. X--- 93,115 ----
  935. X      them.  If you do not already have a termcap file in use on your
  936. X      system there is a small one in file [.OTHERS]TERMCAP.  It contains
  937. X      definitions for common Digital terminals, also suitable for most
  938. X!     clones and emulators, and is copied into the playground directory by
  939. X!     install.com.  NetHack uses the translation of the logical name TERMCAP
  940. X!     to find the termcap file, so you need to use the DCL command DEFINE or
  941. X!     ASSIGN to set it up.  If that's not defined, it looks for the file
  942. X!     "emacs_library:[etc]termcap.dat", next the file "hackdir:termcap", then
  943. X!     "termcap" (ie, in playground directory), and finally "$termcap" (an
  944. X!     alternate logical name).  For terminal type, it uses the logical name
  945. X      NETHACK_TERM to get the name of the terminal (such as "vt100").  If
  946. X      that logical name is not defined, it tries EMACS_TERM.  If that also
  947. X      is not defined, it uses the value generated by the C Run-Time library,
  948. X      which is normally of the form "vt100-80" or "vt200-132".
  949. X  
  950. X+ 2.5 The problem with using the ``number_pad'' input option which required
  951. X+     modification of termcap as a work-around has been fixed.  NetHack now
  952. X+     sends the termcap 'ke' sequence to the terminal when number_pad is set,
  953. X+     and that entry should put the VT keypad into proper numeric mode.
  954. X+ 
  955. X  3.  There is code which attempts to make NetHack secure in case it is
  956. X      installed with privileges (to allow the playground to be protected against
  957. X      world write).  THIS HAS NOT BEEN TESTED.  Install NetHack with privileges
  958. X***************
  959. X*** 144,154 ****
  960. X      is preceded by "killed by", "killed by a", or "killed by an".  If the
  961. X      death was by petrification, use "petrified by" instead.  Do not
  962. X      change "starvation", "quit", "escaped", or "ascended".  Record files
  963. X!     retained from patchlevel 7 to patchlevel 8 do not need any fixups.
  964. X  
  965. X  8.  NetHack optionally maintains a logfile which receives one line appended
  966. X!     to it whenever a game ends.  This can be disabled entirely by adding
  967. X!     an "#undef LOGFILE" directive to vmsconf.h prior to building the
  968. X      program, or it can be disabled later by removing the file "LOGFILE."
  969. X      from the playground directory.  If not disabled prior to compilation,
  970. X      the logfile can be reinitialized by simply creating an empty LOGFILE
  971. X--- 158,168 ----
  972. X      is preceded by "killed by", "killed by a", or "killed by an".  If the
  973. X      death was by petrification, use "petrified by" instead.  Do not
  974. X      change "starvation", "quit", "escaped", or "ascended".  Record files
  975. X!     retained from patchlevel 7 or later do not need any fixups.
  976. X  
  977. X  8.  NetHack optionally maintains a logfile which receives one line appended
  978. X!     to it whenever a game ends.  This can be disabled entirely by removing
  979. X!     the "#define LOGFILE" directive from vmsconf.h prior to building the
  980. X      program, or it can be disabled later by removing the file "LOGFILE."
  981. X      from the playground directory.  If not disabled prior to compilation,
  982. X      the logfile can be reinitialized by simply creating an empty LOGFILE
  983. X***************
  984. X*** 179,182 ****
  985. X  11. If necessary, send problem reports via email to
  986. X         "nethack-bugs@linc.cis.upenn.edu"  (Internet address 130.91.6.8).
  987. X  
  988. X! 27-MAY-1990
  989. X--- 193,196 ----
  990. X  11. If necessary, send problem reports via email to
  991. X         "nethack-bugs@linc.cis.upenn.edu"  (Internet address 130.91.6.8).
  992. X  
  993. X! 29-JAN-1991
  994. X*** README    Tue Apr 17 23:57:49 1990
  995. X--- README    Tue Feb  5 08:55:55 1991
  996. X***************
  997. X*** 77,108 ****
  998. X  
  999. X      At the time of this release, NetHack 3.0 is known to run on:
  1000. X  
  1001. X          AT&T 3B1 running System V (3.51)
  1002. X          AT&T 3B2/600 & 3B2/622 running System V R3.2.1
  1003. X          AT&T 3B2/1000 Model 80 running System V R3.2.2
  1004. X          AT&T 3B4000 running System V
  1005. X          Bull DPX/2 200 running System V R3.1
  1006. X          Bull XPS100 running System V R2.2 or R3.1
  1007. X          Data General AViiON systems running DG/UX
  1008. X          DEC vaxen running Ultrix and BSD
  1009. X!         Decstation 5400 running Ultrix 3.1
  1010. X          Encore Multimax running UMAX 4.2
  1011. X          Gould NP1 running UTX 3/2
  1012. X          H-P 9000s300 running HP-UX
  1013. X!         IBM PC/RT running AIX
  1014. X          Mips M2000 running RiscOS 4.1
  1015. X          Pyramid 9820x running OSx 4.4c
  1016. X          SGI Iris running IRIX
  1017. X          Stride 460 running UniStride 2.1
  1018. X!         Sun-3s and -4s running SunOS 3.x and 4.0.x
  1019. X          Valid Logic Systems SCALD-System
  1020. X          286 box running Microport SysV/AT (not extensively tested)
  1021. X  
  1022. X          Apple Macintosh running MacOS
  1023. X!         Atari 1040ST running TOS
  1024. X          Commodore Amiga running AmigaDOS 1.3 (WorkBench 1.3,
  1025. X                  KickStart 1.2 or 1.3) with Lattice or Manx/Aztec C
  1026. X!         DEC vaxen running VMS
  1027. X          IBM PC compatibles running MS-DOS with MicroSoft C or Turbo C
  1028. X          IBM PS/2 and AT compatibles running OS/2 with MicroSoft C
  1029. X  
  1030. X--- 77,111 ----
  1031. X  
  1032. X      At the time of this release, NetHack 3.0 is known to run on:
  1033. X  
  1034. X+         Apple Macintosh running A/UX 2.0
  1035. X          AT&T 3B1 running System V (3.51)
  1036. X          AT&T 3B2/600 & 3B2/622 running System V R3.2.1
  1037. X          AT&T 3B2/1000 Model 80 running System V R3.2.2
  1038. X          AT&T 3B4000 running System V
  1039. X+         AT&T 6386 running System V R3.2
  1040. X          Bull DPX/2 200 running System V R3.1
  1041. X          Bull XPS100 running System V R2.2 or R3.1
  1042. X          Data General AViiON systems running DG/UX
  1043. X          DEC vaxen running Ultrix and BSD
  1044. X!         DECstations running Ultrix 3.1 or 4.0
  1045. X          Encore Multimax running UMAX 4.2
  1046. X          Gould NP1 running UTX 3/2
  1047. X          H-P 9000s300 running HP-UX
  1048. X!         IBM PC/RT and RS/6000 running AIX
  1049. X          Mips M2000 running RiscOS 4.1
  1050. X+         NeXT workstations running NeXT 2.0 (Mach)
  1051. X          Pyramid 9820x running OSx 4.4c
  1052. X          SGI Iris running IRIX
  1053. X          Stride 460 running UniStride 2.1
  1054. X!         Sun-3s, -4s, and -386is running SunOS 3.x and 4.x
  1055. X          Valid Logic Systems SCALD-System
  1056. X          286 box running Microport SysV/AT (not extensively tested)
  1057. X  
  1058. X          Apple Macintosh running MacOS
  1059. X!         Atari 1040ST running TOS or MiNT
  1060. X          Commodore Amiga running AmigaDOS 1.3 (WorkBench 1.3,
  1061. X                  KickStart 1.2 or 1.3) with Lattice or Manx/Aztec C
  1062. X!         DEC VAX/VMS, running V4.6 through V5.4-1
  1063. X          IBM PC compatibles running MS-DOS with MicroSoft C or Turbo C
  1064. X          IBM PS/2 and AT compatibles running OS/2 with MicroSoft C
  1065. X  
  1066. X*** amiga/Makefile.ami    Sat Jun  2 00:06:08 1990
  1067. X--- amiga/Makefile.ami    Sat Jan  5 15:05:01 1991
  1068. X***************
  1069. X*** 99,104 ****
  1070. X--- 99,111 ----
  1071. X  UUDEC    = echo
  1072. X  #UUDEC    = uudecode
  1073. X  
  1074. X+ # Flex/Bison command assignments -- Useful only if you have flex/bison
  1075. X+ FLEX    = flex:flex
  1076. X+ BISON    = dh2d:bison/bison
  1077. X+ # FBFIL and FBLIB may be used, if required by your version of flex or bison,
  1078. X+ # to specify additional files or libraries to be linked with
  1079. X+ FBFIL    =
  1080. X+ FBLIB    = lib:compat.lib
  1081. X  
  1082. X  # Pathname for the C compiler being used.
  1083. X  
  1084. X***************
  1085. X*** 118,124 ****
  1086. X  #   Note: do not use -ms with Lattice 5.04 (Others:lev_lex.c fails)
  1087. X  #   Note: make sure your CLI stack size is large or lev_comp and makedefs
  1088. X  #    may fail terribly - stack checking is disabled.
  1089. X! CFLAGS    = -b0 -cfi -d1 -iIncl: -ma -v
  1090. X  
  1091. X  #[MANX3.6]
  1092. X  
  1093. X--- 125,131 ----
  1094. X  #   Note: do not use -ms with Lattice 5.04 (Others:lev_lex.c fails)
  1095. X  #   Note: make sure your CLI stack size is large or lev_comp and makedefs
  1096. X  #    may fail terribly - stack checking is disabled.
  1097. X! CFLAGS    = -b0 -cfi -d1 -iIncl: -ma -v -cs
  1098. X  
  1099. X  #[MANX3.6]
  1100. X  
  1101. X***************
  1102. X*** 140,145 ****
  1103. X--- 147,153 ----
  1104. X  LIN    = from Lib:catch.o
  1105. X  LLINK    = with Amiga:ami.lnk
  1106. X  LLIB    = lib Lib:lc.lib BATCH
  1107. X+ FLLIB    = lib $(FBLIB) Lib:lc.lib BATCH
  1108. X  
  1109. X  #[MANX3.6]
  1110. X  
  1111. X***************
  1112. X*** 147,154 ****
  1113. X  #LIN    =
  1114. X  #LLINK    = -f Amiga:ami.lnk
  1115. X  #LLIB    = -lcl
  1116. X  
  1117. X- 
  1118. X  # Name of the game:
  1119. X  
  1120. X  GAME    = HackExe:NetHack
  1121. X--- 155,162 ----
  1122. X  #LIN    =
  1123. X  #LLINK    = -f Amiga:ami.lnk
  1124. X  #LLIB    = -lcl
  1125. X+ #FLLIB    = -lcl
  1126. X  
  1127. X  # Name of the game:
  1128. X  
  1129. X  GAME    = HackExe:NetHack
  1130. X***************
  1131. X*** 439,445 ****
  1132. X      $(CC) -dMAKEDEFS_C $(CFLAGS) -o$@ Src2:makedefs.c
  1133. X  
  1134. X  NetHack:lev_comp:  $(SPLEVOBJS)
  1135. X!     $(LINK) NetHack:lev_comp $(LIN) $(SPLEVOBJS) $(LLIB)
  1136. X  
  1137. X  O_Src1:lev_comp.o:  Src1:lev_comp.c $(HDEP) Incl:sp_lev.h
  1138. X      $(CC) -dLEV_LEX_C $(CFLAGS) -o$@ Src1:lev_comp.c
  1139. X--- 447,453 ----
  1140. X      $(CC) -dMAKEDEFS_C $(CFLAGS) -o$@ Src2:makedefs.c
  1141. X  
  1142. X  NetHack:lev_comp:  $(SPLEVOBJS)
  1143. X!     $(LINK) NetHack:lev_comp $(LIN) $(SPLEVOBJS) $(FBFIL) $(FLLIB)
  1144. X  
  1145. X  O_Src1:lev_comp.o:  Src1:lev_comp.c $(HDEP) Incl:sp_lev.h
  1146. X      $(CC) -dLEV_LEX_C $(CFLAGS) -o$@ Src1:lev_comp.c
  1147. X***************
  1148. X*** 450,455 ****
  1149. X--- 458,479 ----
  1150. X  O_Src1:lev_main.o:  Src1:lev_main.c $(HDEP)
  1151. X      $(CC) -dLEV_LEX_C -dAMIGA $(CFLAGS) -o$@ Src1:lev_main.c
  1152. X  
  1153. X+ # [OPTION] -- If you have flex/bison, leave these uncommented.  Otherwise,
  1154. X+ # comment them out and be careful! (You're not guaranteed to have the most
  1155. X+ # up to date lev_lex.c, lev_comp.c, and lev_comp.h)
  1156. X+ 
  1157. X+ Src1:lev_comp.c:    Src1:lev_comp.y
  1158. X+     $(BISON) -d Src1:lev_comp.y
  1159. X+     copy Src1:lev_comp.tab.c Src1:lev_comp.c
  1160. X+     copy Src1:lev_comp.tab.h Incl:lev_comp.h
  1161. X+     delete Src1:lev_comp.tab.c
  1162. X+     delete Src1:lev_comp.tab.h
  1163. X+ 
  1164. X+ Others:lev_lex.c:        Src1:lev_comp.l
  1165. X+     $(FLEX) Src1:lev_comp.l
  1166. X+     copy lex.yy.c Others:lev_lex.c
  1167. X+     delete lex.yy.c
  1168. X+ 
  1169. X  #
  1170. X  #    The following include files depend on makedefs to be created.
  1171. X  #    As a result, they are not defined in HACKINCL, instead, their
  1172. X***************
  1173. X*** 466,481 ****
  1174. X  
  1175. X  Incl:date.h:  $(HDEP) NetHack:makedefs $(AMIGAOBJ)
  1176. X      NetHack:makedefs -v
  1177. X  
  1178. X  Incl:trap.h:  NetHack:makedefs
  1179. X      NetHack:makedefs -t
  1180. X!     -copy makedefs.1 $@
  1181. X  
  1182. X  Incl:onames.h:  NetHack:makedefs
  1183. X      NetHack:makedefs -o
  1184. X  
  1185. X  Incl:pm.h:  NetHack:makedefs
  1186. X      NetHack:makedefs -p
  1187. X  
  1188. X  #
  1189. X  #    The following programs vary depending on what OS you are using.
  1190. X--- 490,508 ----
  1191. X  
  1192. X  Incl:date.h:  $(HDEP) NetHack:makedefs $(AMIGAOBJ)
  1193. X      NetHack:makedefs -v
  1194. X+     -wait 2
  1195. X  
  1196. X  Incl:trap.h:  NetHack:makedefs
  1197. X      NetHack:makedefs -t
  1198. X!     -wait 2
  1199. X  
  1200. X  Incl:onames.h:  NetHack:makedefs
  1201. X      NetHack:makedefs -o
  1202. X+     -wait 2
  1203. X  
  1204. X  Incl:pm.h:  NetHack:makedefs
  1205. X      NetHack:makedefs -p
  1206. X+     -wait 2
  1207. X  
  1208. X  #
  1209. X  #    The following programs vary depending on what OS you are using.
  1210. X*** amiga/amidos.c    Sun Mar  4 13:43:37 1990
  1211. X--- amiga/amidos.c    Sat Jan  5 14:58:46 1991
  1212. X***************
  1213. X*** 459,464 ****
  1214. X--- 459,465 ----
  1215. X  
  1216. X      tmp_ramdisk[0] = 0;
  1217. X      tmp_levels[0] = 0;
  1218. X+     assign_graphics((unsigned int *)0,0);    /* set default chars */
  1219. X      if ((fp = fopenp(configfile, "r")) == NULL) {
  1220. X      msmsg("Warning: no configuration file!\n");
  1221. X      getreturn("to continue");
  1222. X
  1223. END_OF_FILE
  1224. if test 51657 -ne `wc -c <'patch10.01'`; then
  1225.     echo shar: \"'patch10.01'\" unpacked with wrong size!
  1226. fi
  1227. # end of 'patch10.01'
  1228. echo shar: End of archive 1 \(of 8\).
  1229. cp /dev/null ark1isdone
  1230. MISSING=""
  1231. for I in 1 2 3 4 5 6 7 8 ; do
  1232.     if test ! -f ark${I}isdone ; then
  1233.     MISSING="${MISSING} ${I}"
  1234.     fi
  1235. done
  1236. if test "${MISSING}" = "" ; then
  1237.     echo You have unpacked all 8 archives.
  1238.     rm -f ark[1-9]isdone
  1239. else
  1240.     echo You still need to unpack the following archives:
  1241.     echo "        " ${MISSING}
  1242. fi
  1243. ##  End of shell archive.
  1244. exit 0
  1245.